package com.hyt.it.ogt.kq.service.gov.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hyt.it.ogt.kq.service.gov.model.param.PageRoomPackageParam;
import com.hyt.it.ogt.kq.service.gov.model.vo.RoomPackageVO;

/**
 * <p>
 * 考务包 服务类
 * </p>
 *
 * @author liuhh
 * @since 2021-09-6
 */
public interface IRoomDataService {

    /**
     * 生成考务包
     * @param taskId
     * @param version
     * @return
     * @throws Exception
     */
    void createByTaskId(String taskId, String version) throws Exception;

    /**
     * 分页获取考务包对象
     * @param param
     * @return
     */
    Page<RoomPackageVO> page(PageRoomPackageParam param);

    /**
     * 生成考试任务下的模拟测试考务包
     * @param taskId 考试任务id
     */
    void createMockRoomDataByTaskId(String taskId);

    /**
     * 考试任务下是否存在模拟测试考务包
     * @param taskId 考试任务id
     * @return true：存在模拟测试考务包，false：不存在模拟测试考务包
     */
    boolean hasMockRoomData(String taskId);

    /**
     * 根据任务删除考务包
     * @param tasId
     */
    void deleteRoomDataPackageByTaskId(String tasId);

    /**
     * 根据场次删除考务包
     * @param timeRoomId
     */
    void deleteRoomDataPackageByTimeRoomId(String timeRoomId);
}
